﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace var_and_dynamic
{
    class Program
    {
        static void Main(string[] args)
        {
            //var 在编译阶段已经确定类型
            // var varError;
            var isIntType = 10;
            isIntType.ToString();
            dynamic dyn;
            // dynamic dynOk;
            dyn = "hello world";
            //error 字符串没有 [ fn不存在的方法 ] 的方法
            //但在语法检查时通过，不会提示语法错误
           // var s = dyn.fn不存在的方法();//runtime error
            //对象初始化器
            Book book = new Book { Title = "Inside COM", ISBN = "123-456-789" };
            //集合初始化器
            List<int> l = new List<int>() { 1,3,4,5};
            List<Book> books = new List<Book>() {
            new Book(){Title="c#"},new Book(){Title="vitual c"}
            };
            Console.Write(isIntType + dyn);
            Console.Write(book.ISBN);
            Console.WriteLine();
            Console.Write(books[1].Title);
        }
        /// <summary>
        /// 对象初始化器
        /// </summary>
        public class Book
        {
            /// <summary>
            /// 图书名称
            /// </summary>
            public string Title { get; set; }
            /// <summary>
            /// 单价
            /// </summary>
            public float Price { get; set; }
            /// <summary>
            /// 作者
            /// </summary>
            public string Author { get; set; }
            /// <summary>
            /// ISBN号
            /// </summary>
            public string ISBN { get; set; }
        }
    }
}
